1. Field of the Invention
The present invention relates to a moving picture compressing device, and in particular, to a motion vector detecting device for detecting a motion vector in real time.
2. Description of the Related Art
Motion vector detection is widely used for moving picture compression of H.261, MPEG1 (Moving Picture Experts Group 1) or MPEG2 due to its significance in reducing the temporal redundancy between adjacent pictures. However, a large number of operations involved in the motion vector detection makes real time implementation difficult.
In general, a block based motion search algorithm is used for motion vector detection. A description of motion vector detection according to the algorithm will hereinbelow be given referring to FIG. 1. A block having the smallest mean absolute error (MAE) with respect to a macro block MB having MiN pixels in an n-th frame being a current picture is searched in a search area SR of an (n-1)-th frame being a reference picture. The block having the smallest MAE in the (n-1)-th frame is called a best matched block BM. The search area SR is comprised of blocks whose reference points range between (x-P, y-P) and (x+P, y+P) relative to the reference point (x, y) of the macro block MB. and includes (M+2P)x(N+2P) pixels. The MAE is calculated by ##EQU1##
where C(x+k, y+1) indicates a pixel in the macro block of the current picture, R(x+i+k, y+j+1) indicates a pixel in a macro block of the reference picture. PA1 If M=N=16, I=720, J=480, F=30, and P=15, a total number of required operations is 29.89 GOPS (Giga Operations Per Second).
The motion vector MV of the macro block MB is the vector between the reference points of the macro block MB and the best matched block BM. For example, if the reference points of the macro block MB and the best matched block BM are given as (x,y) and (x+u, y+v) respectively, the motion vector MV is (u,v).
To search for the best matched block BM in the reference picture, MAEs should be obtained in each search point through operations such as subtraction, calculation of absolute values, and summation, as shown in equation 1.
The above conventional motion vector detection is not viable with software alone because of too many operations. Assuming that a search range is between +P and -P, the size of a reference picture is I.times.J pixels, the size of a macro block MB is M.times.N pixels, and input pictures should be processed at a rate of F frames per second, the number of required operations is given by ##EQU2##
Therefore, a motion vector detection algorithm was implemented using a motion vector detecting VLSI chip such as ST13220 chip of SGS-Thomson as a coprocessor in the prior art. Here, the ST13220 chip can be operated at a pixel rate of 18 MHz in maximum, and detect the motion vector of a 8.times.8 or 16.times.16-pixel macro block at a reference point (0,0), for example, in a search area comprised of blocks at reference points ranging from (-8, -8) to (+7, +7).
However, the general video compression algorithm such as the MPEG2 standard or the ITU-T (International Telecommunication Union-Telecommunication Sector) image communication standard H.261 provides that the motion vector of a 16.times.16-pixel macro block at a reference point (0, 0), for example, should be detected in a search area comprised of blocks at reference points ranging from (-16, -16) to (+15, +15). Thus, to make a search in the search area, four ST13220 chips are arranged in parallel or the search area is divided into four parts to allow a single ST13220 chip to detect a motion vector in each part.
However, the former case increases hardware size and cost, whereas the latter case increases process time and makes real time processing difficult despite the advantage of reduced hardware size.